%define SecondBootLoaderAddressInRAM    0x1000  ; 0x0100:0x0 = 0x1000
%define SecondBootLoaderSizeInSectors   10     ; nombre de secteurs a charger (10 secteurs = 5 kio)

; Note : le passage en mode protege se fait a partir du bootloader2.

[BITS 16]
[ORG 0x7C00]

jmp start

bootdrv db 0x80

start:
	
    mov [bootdrv], dl
    mov ax, 0x8000
    mov ss, ax
    mov sp, 0xf000    ; stack de 0x8F000 -> 0x80000

load:
    mov ah, 0               ; On reset le lecteur
    int 13h
    or ah, ah
    jnz load 

    mov ax, 0
    mov es, ax
    mov bx, SecondBootLoaderAddressInRAM 

    mov ah, 2
    mov al, SecondBootLoaderSizeInSectors
    mov ch, 0
    mov cl, 2
    mov dh, 0
    mov dl, [bootdrv] ; On tire le second bootloader de l'unite de boot
    int 0x13
    or ah, ah
    jnp load
    
    xor dx, dx
    mov dl, [bootdrv]

    jmp SecondBootLoaderAddressInRAM
   


times 510-($-$$) db 0
dw 0xAA55

